Many programming languages, such as ABAP® (Advanced Business Application Programming) by SAP AG, Java® by Oracle Corporation, and others, including both object-oriented and non-object-oriented languages, possess the quality of semantic “layers” or levels. For example, in the object-oriented quality of inheritance, a derived class may inherit and redefine certain behaviors and attributes from a superclass. In such cases, the derived class and its related superclass may be considered as occupying separate semantic layers in the same computer program. In ABAP, enhancement sections are code sections or modules that replace code sections or modules of original source code. Thus, an enhancement section may be viewed as representing a different semantic layer from the code that it replaces. Many other examples of varying semantic layers in a computer program, such as code stubs, proxies, and façades, exist. Further, such semantic layers may be represented in commands, data structures, code modules, data patterns, and other constructs employed in source code. Generally, a programmer's knowledge and understanding of the various semantic layers exhibited by the source code of a particular computer program aid in the programmer's overall understanding of the program during program development, testing, and debugging.